package com.ymatou.query.seller.trading.api.parameter.SellerApp;

import java.math.BigDecimal;
import java.util.List;

import com.ymatou.query.seller.trading.api.parameter.AppQuery.GetSellerOrdersListV2Result;
import com.ymttest.utils.DataUtil;

public class GetSellerOrdersListV3Result {
	private List<OrderInfo> OrderInfos;
	private List<ProductInfo> ProductInfos;

	public List<OrderInfo> getOrderInfos() {
		return OrderInfos;
	}

	public void setOrderInfos(List<OrderInfo> orderInfos) {
		OrderInfos = orderInfos;
	}

	public List<ProductInfo> getProductInfos() {
		return ProductInfos;
	}

	public void setProductInfos(List<ProductInfo> productInfos) {
		ProductInfos = productInfos;
	}

	public static class OrderInfo extends GetSellerOrdersListV2Result.OrderInfo {
		private int iMainOrderId;

		private String sCouponCode;

		private String sYmtCouponCode;

		private BigDecimal fYmtCouponAmount = new BigDecimal(0);

		private String sSellerCouponCode;

		private BigDecimal fSellerCouponAmount = new BigDecimal(0);
		private BigDecimal fSellerPromotionAmount = new BigDecimal(0);

		private String dAcceptTime;
		private String dCancelTime;
		private String dConfirmedTime;
		private String dDispathTime;
		private String dPaidTime;
		private String dPostPaidTime;

		private BigDecimal fFreight = new BigDecimal(0);

		private boolean bIsNeedUploadIdCard;

		private boolean bHaveUploadedIdCard;

		private BigDecimal fOrderDiscount = new BigDecimal(0);
		private BigDecimal fDiscount = new BigDecimal(0);
		private BigDecimal fUseGiftAmount = new BigDecimal(0);

		private String sReceivePerson;

		private String sPhone;

		private String sPostCode;

		private String sAddress;

		private String sCancelReason;

		/**
		 * 新买手单标识
		 */
		private Boolean bNewSellerOrder;
		/**
		 * 新客单标识
		 */
		private Boolean bNewCustomerOrder;

		public int getiMainOrderId() {
			return iMainOrderId;
		}

		public void setiMainOrderId(int iMainOrderId) {
			this.iMainOrderId = iMainOrderId;
		}

		public String getsCouponCode() {
			return sCouponCode;
		}

		public void setsCouponCode(String sCouponCode) {
			this.sCouponCode = sCouponCode;
		}

		public String getsYmtCouponCode() {
			return sYmtCouponCode;
		}

		public void setsYmtCouponCode(String sYmtCouponCode) {
			this.sYmtCouponCode = sYmtCouponCode;
		}

		public BigDecimal getfYmtCouponAmount() {
			return fYmtCouponAmount;
		}

		public void setfYmtCouponAmount(BigDecimal fYmtCouponAmount) {
			this.fYmtCouponAmount = fYmtCouponAmount;
		}

		public String getsSellerCouponCode() {
			return sSellerCouponCode;
		}

		public void setsSellerCouponCode(String sSellerCouponCode) {
			this.sSellerCouponCode = sSellerCouponCode;
		}

		public BigDecimal getfSellerCouponAmount() {
			return fSellerCouponAmount;
		}

		public void setfSellerCouponAmount(BigDecimal fSellerCouponAmount) {
			this.fSellerCouponAmount = fSellerCouponAmount;
		}

		public BigDecimal getfSellerPromotionAmount() {
			return fSellerPromotionAmount;
		}

		public void setfSellerPromotionAmount(BigDecimal fSellerPromotionAmount) {
			this.fSellerPromotionAmount = fSellerPromotionAmount;
		}

		public String getdAcceptTime() {
			return dAcceptTime;
		}

		public void setdAcceptTime(String dAcceptTime) {
			this.dAcceptTime = dAcceptTime;
		}

		public String getdCancelTime() {
			return dCancelTime;
		}

		public void setdCancelTime(String dCancelTime) {
			this.dCancelTime = dCancelTime;
		}

		public String getdConfirmedTime() {
			return dConfirmedTime;
		}

		public void setdConfirmedTime(String dConfirmedTime) {
			this.dConfirmedTime = dConfirmedTime;
		}

		public String getdDispathTime() {
			return dDispathTime;
		}

		public void setdDispathTime(String dDispathTime) {
			this.dDispathTime = dDispathTime;
		}

		public String getdPaidTime() {
			return dPaidTime;
		}

		public void setdPaidTime(String dPaidTime) {
			this.dPaidTime = dPaidTime;
		}

		public String getdPostPaidTime() {
			return dPostPaidTime;
		}

		public void setdPostPaidTime(String dPostPaidTime) {
			this.dPostPaidTime = dPostPaidTime;
		}

		public BigDecimal getfFreight() {
			return fFreight;
		}

		public void setfFreight(BigDecimal fFreight) {
			this.fFreight = fFreight;
		}

		public boolean isbIsNeedUploadIdCard() {
			return bIsNeedUploadIdCard;
		}

		public void setbIsNeedUploadIdCard(boolean bIsNeedUploadIdCard) {
			this.bIsNeedUploadIdCard = bIsNeedUploadIdCard;
		}

		public boolean isbHaveUploadedIdCard() {
			return bHaveUploadedIdCard;
		}

		public void setbHaveUploadedIdCard(boolean bHaveUploadedIdCard) {
			this.bHaveUploadedIdCard = bHaveUploadedIdCard;
		}

		public BigDecimal getfOrderDiscount() {
			return fOrderDiscount;
		}

		public void setfOrderDiscount(BigDecimal fOrderDiscount) {
			this.fOrderDiscount = fOrderDiscount;
		}

		public BigDecimal getfDiscount() {
			return fDiscount;
		}

		public void setfDiscount(BigDecimal fDiscount) {
			this.fDiscount = fDiscount;
		}

		public BigDecimal getfUseGiftAmount() {
			return fUseGiftAmount;
		}

		public void setfUseGiftAmount(BigDecimal fUseGiftAmount) {
			this.fUseGiftAmount = fUseGiftAmount;
		}

		public String getsReceivePerson() {
			return sReceivePerson;
		}

		public void setsReceivePerson(String sReceivePerson) {
			this.sReceivePerson = sReceivePerson;
		}

		public String getsPhone() {
			return sPhone;
		}

		public void setsPhone(String sPhone) {
			this.sPhone = sPhone;
		}

		public String getsPostCode() {
			return sPostCode;
		}

		public void setsPostCode(String sPostCode) {
			this.sPostCode = sPostCode;
		}

		public String getsAddress() {
			return sAddress;
		}

		public void setsAddress(String sAddress) {
			this.sAddress = sAddress;
		}

		public String getsCancelReason() {
			return sCancelReason;
		}

		public void setsCancelReason(String sCancelReason) {
			this.sCancelReason = sCancelReason;
		}

		public Boolean isbNewSellerOrder() {
			return bNewSellerOrder;
		}

		public void setbNewSellerOrder(Boolean bNewSellerOrder) {
			this.bNewSellerOrder = bNewSellerOrder;
		}

		public Boolean isbNewCustomerOrder() {
			return bNewCustomerOrder;
		}

		public void setbNewCustomerOrder(Boolean bNewCustomerOrder) {
			this.bNewCustomerOrder = bNewCustomerOrder;
		}
	}

	public static class ProductInfo extends
			GetSellerOrdersListV2Result.ProductInfo {
		/**
		 * 规格id
		 */
		private String sCatalogId;
		
		private int iCatalogType;
		
		private BigDecimal fThirdPartyDiscount = BigDecimal.ZERO;

		/**
		 * 商品成交价
		 */
		private BigDecimal fProductPrice = new BigDecimal(0);

		/**
		 * 商品原价（历史数据为空）
		 */
		private BigDecimal fProductOriginalPrice = new BigDecimal(0);
		
		/**
		 * 是否psp商品
		 */
		private boolean bPspProduct;

		/**
		 * 退货退款单号
		 */
		private String SalesRefundCode;

		/**
		 * 退货退款金额
		 */
		private BigDecimal SalesRefundAmount = new BigDecimal(0);

		/**
		 * 平台分摊优惠券
		 */
		private BigDecimal fYmtCouponAmount = new BigDecimal(0);

		/**
		 * 卖家分摊优惠券
		 */
		private BigDecimal fSellerCouponAmount = new BigDecimal(0);

		/**
		 * 折扣分摊
		 */
		private BigDecimal fDiscount = new BigDecimal(0);

		/**
		 * 运费分摊
		 */
		private BigDecimal fFreight = new BigDecimal(0);

		/**
		 * 交税方
		 */
		private Integer iTariffType;

		/**
		 * 是否免运费
		 */
		private Boolean bFreightFree;

		/**
		 * 是否支持7天无条件退款
		 */
		private boolean bSupportRtnWithoutReason;

		/**
		 * 促销:活动ID
		 */
		private Integer PromotionId;

		/**
		 * 促销:活动类型
		 */
		private Integer PromotionType;

		/**
		 * 促销:活动名称
		 */
		private String PromotionName;

		/**
		 * 促销:条件
		 */
		private String MatchCondition;

		/**
		 * 促销金额
		 */
		private String PromotionValue;

		/**
		 * 促销:商品分摊金额
		 */
		private BigDecimal fSellerPromotionAmount;

		/**
		 * 应用该优惠时，共优惠的金额
		 */
		private BigDecimal ReducedAmount;

		public String getsCatalogId() {
			return sCatalogId;
		}

		public void setsCatalogId(String sCatalogId) {
			this.sCatalogId = sCatalogId;
		}

		public BigDecimal getfProductPrice() {
			return fProductPrice;
		}

		public void setfProductPrice(BigDecimal fProductPrice) {
			this.fProductPrice = fProductPrice;
		}

		public BigDecimal getfProductOriginalPrice() {
			return fProductOriginalPrice;
		}

		public void setfProductOriginalPrice(BigDecimal fProductOriginalPrice) {
			this.fProductOriginalPrice = fProductOriginalPrice;
		}

		public String getSalesRefundCode() {
			return SalesRefundCode;
		}

		public void setSalesRefundCode(String salesRefundCode) {
			SalesRefundCode = salesRefundCode;
		}

		public BigDecimal getSalesRefundAmount() {
			return SalesRefundAmount;
		}

		public void setSalesRefundAmount(BigDecimal salesRefundAmount) {
			SalesRefundAmount = salesRefundAmount;
		}

		public BigDecimal getfYmtCouponAmount() {
			return fYmtCouponAmount;
		}

		public void setfYmtCouponAmount(BigDecimal fYmtCouponAmount) {
			this.fYmtCouponAmount = fYmtCouponAmount;
		}

		public BigDecimal getfSellerCouponAmount() {
			return fSellerCouponAmount;
		}

		public void setfSellerCouponAmount(BigDecimal fSellerCouponAmount) {
			this.fSellerCouponAmount = fSellerCouponAmount;
		}

		public BigDecimal getfDiscount() {
			return fDiscount;
		}

		public void setfDiscount(BigDecimal fDiscount) {
			this.fDiscount = fDiscount;
		}

		public BigDecimal getfFreight() {
			return fFreight;
		}

		public void setfFreight(BigDecimal fFreight) {
			this.fFreight = fFreight;
		}

		public Integer getiTariffType() {
			return iTariffType;
		}

		public void setiTariffType(Integer iTariffType) {
			this.iTariffType = iTariffType;
		}

		public Boolean getbFreightFree() {
			return bFreightFree;
		}

		public void setbFreightFree(Boolean bFreightFree) {
			this.bFreightFree = bFreightFree;
		}

		public boolean isbSupportRtnWithoutReason() {
			return bSupportRtnWithoutReason;
		}

		public void setbSupportRtnWithoutReason(boolean bSupportRtnWithoutReason) {
			this.bSupportRtnWithoutReason = bSupportRtnWithoutReason;
		}

		public Integer getPromotionId() {
			return PromotionId;
		}

		public void setPromotionId(Integer promotionId) {
			PromotionId = promotionId;
		}

		public Integer getPromotionType() {
			return PromotionType;
		}

		public void setPromotionType(Integer promotionType) {
			PromotionType = promotionType;
		}

		public String getPromotionName() {
			return PromotionName;
		}

		public void setPromotionName(String promotionName) {
			PromotionName = promotionName;
		}

		public String getMatchCondition() {
			return MatchCondition;
		}

		public void setMatchCondition(String matchCondition) {
			MatchCondition = matchCondition;
		}

		public String getPromotionValue() {
			return PromotionValue;
		}

		public void setPromotionValue(String promotionValue) {
			PromotionValue = promotionValue;
		}

		public BigDecimal getfSellerPromotionAmount() {
			return fSellerPromotionAmount;
		}

		public void setfSellerPromotionAmount(BigDecimal fSellerPromotionAmount) {
			this.fSellerPromotionAmount = fSellerPromotionAmount;
		}

		public BigDecimal getReducedAmount() {
			return ReducedAmount;
		}

		public void setReducedAmount(BigDecimal reducedAmount) {
			ReducedAmount = reducedAmount;
		}

		public int getiCatalogType() {
			return iCatalogType;
		}

		public void setiCatalogType(int iCatalogType) {
			this.iCatalogType = iCatalogType;
		}

		public BigDecimal getfThirdPartyDiscount() {
			return fThirdPartyDiscount;
		}

		public void setfThirdPartyDiscount(BigDecimal fThirdPartyDiscount) {
			this.fThirdPartyDiscount = DataUtil.BigDecimall.GetValueOrDefault(fThirdPartyDiscount);
		}

		public boolean isbPspProduct() {
			return bPspProduct;
		}

		public void setbPspProduct(boolean bPspProduct) {
			this.bPspProduct = bPspProduct;
		}

	}
}
